
/**
 * 数字格式化
 * @param {number|string} num 需要格式化的数字
 * @param {number} decimal 小数位数
 * **/
export function numFormat(num, decimal = 2) {
	if (isString(num)) {
		return Number(num).toFixed(decimal);
	}
	if (isNumber(num)) {
		return num.toFixed(decimal);
	}
}

/** 验证手机号 */
export function isMobile(inputStr) {
	const telStr = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
	return telStr.test(inputStr);
}

/** 验证邮箱 */
export function isEmail(inputStr) {
	const emailStr =  /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	return emailStr.test(inputStr);
}

/** 验证非空*/
export function isEmpty(inputStr) {
	return inputStr !== "";
}

/** 验证密码 */
export function isPassword(inputStr) {
	const password = /(?=.*[a-z_])(?=.*\d)(?=.*[^a-z0-9_])[\S]{6,}/i;
	return password.test(inputStr);
}

/**
 * 字符串
 * @param {string} str
 * @returns {Boolean}
 */
export function isString(str) {
	return typeof str === "string" || str instanceof String;

}

/**
 * 数字
 * @param {number} num
 * @returns {Boolean}
 * **/
export function isNumber(num) {
	return typeof num === "number";
}

/**
 * 数组
 * @param {Array} arg
 * @returns {Boolean}
 */
export function isArray(arg) {
	if (typeof Array.isArray === "undefined") {
		return Object.prototype.toString.call(arg) === "[object Array]";
	}
	return Array.isArray(arg);
}

/**
 * 验证是否是ios 系统
 * @returns {Boolean}
 */

export function hasIphone() {
  let ran = navigator.userAgent;
  let isIOS = !!ran.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  return isIOS;
}
